#!/bin/bash

# 测试故障分布图显示效果的脚本

echo "=== 测试故障分布图显示效果 ==="

# 1. 检查前端文件是否存在
echo "1. 检查前端文件..."
if [ -f "src/main/resources/static/js/app.js" ]; then
    echo "✓ app.js 文件存在"
else
    echo "✗ app.js 文件不存在"
    exit 1
fi

# 2. 检查故障分布图配置
echo -e "\n2. 检查故障分布图配置..."
echo "检查X轴和Y轴显示设置："

# 检查X轴display设置
if grep -q "display: true.*// 显示X轴" src/main/resources/static/js/app.js; then
    echo "✓ X轴已设置为显示"
else
    echo "✗ X轴显示设置未找到"
fi

# 检查Y轴display设置
if grep -q "display: true.*// 显示Y轴" src/main/resources/static/js/app.js; then
    echo "✓ Y轴已设置为显示"
else
    echo "✗ Y轴显示设置未找到"
fi

# 检查X轴刻度值显示设置
if grep -q "display: true.*// 显示X轴刻度值" src/main/resources/static/js/app.js; then
    echo "✓ X轴刻度值已设置为显示"
else
    echo "✗ X轴刻度值显示设置未找到"
fi

# 检查Y轴刻度值显示设置
if grep -q "display: true.*// 显示Y轴刻度值" src/main/resources/static/js/app.js; then
    echo "✓ Y轴刻度值已设置为显示"
else
    echo "✗ Y轴刻度值显示设置未找到"
fi

# 检查tooltip配置
if grep -q "tooltip.*enabled: true" src/main/resources/static/js/app.js; then
    echo "✓ Tooltip已启用"
else
    echo "✗ Tooltip配置未找到"
fi

# 检查datalabels配置
if grep -q "datalabels.*display: false" src/main/resources/static/js/app.js; then
    echo "✓ 数据点数值标签已禁用"
else
    echo "✗ 数据点数值标签配置未找到"
fi

# 3. 检查网格线设置
echo -e "\n3. 检查网格线设置..."
if grep -q "grid.*color.*rgba(255, 255, 255, 0.1)" src/main/resources/static/js/app.js; then
    echo "✓ 网格线已设置为显示"
else
    echo "✗ 网格线设置未找到"
fi

# 4. 显示配置摘要
echo -e "\n4. 故障分布图配置摘要："
echo "• X轴: 显示坐标轴和刻度值 (display: true, ticks.display: true)"
echo "• Y轴: 显示坐标轴和刻度值，动态调整范围 (display: true, ticks.display: true)"
echo "• 网格线: 显示 (color: rgba(255, 255, 255, 0.1))"
echo "• 数据点数值标签: 不显示 (datalabels.display: false)"
echo "• Tooltip: 启用，鼠标悬停时显示详细信息"
echo "• 交互模式: nearest (最近点)"
echo "• Y轴范围: 根据后端返回的故障类型动态调整"

# 5. 启动应用测试
echo -e "\n5. 启动应用进行测试..."
echo "请执行以下步骤："
echo "1. 启动应用程序: ./start.sh"
echo "2. 打开浏览器访问: http://localhost:8080"
echo "3. 点击任意机器查看详情"
echo "4. 观察故障分布图："
echo "   - 应该能看到X轴和Y轴的坐标轴线条"
echo "   - 应该能看到网格线"
echo "   - 应该能看到X轴和Y轴的刻度值"
echo "   - 不应该看到数据点上的数值标签"
echo "   - Y轴范围应该根据实际故障类型动态调整"
echo "   - 鼠标悬停在数据点上时应该显示tooltip"
echo "   - tooltip应该显示位置和故障类型信息"

echo -e "\n=== 测试完成 ==="
echo "故障分布图现在显示坐标轴和刻度值但不显示数据点数值标签，Y轴范围根据后端数据动态调整"
